#include "cpu/exec/helper.h"

// 定义数据字节长度为1的模板，并引入add-template.h文件
#define DATA_BYTE 1
#include "add-template.h"
#undef DATA_BYTE

// 定义数据字节长度为2的模板，并引入add-template.h文件
#define DATA_BYTE 2
#include "add-template.h"
#undef DATA_BYTE

// 定义数据字节长度为4的模板，并引入add-template.h文件
#define DATA_BYTE 4
#include "add-template.h"
#undef DATA_BYTE

/* for instruction encoding overloading */

// 将ADD指令操作数为立即数到累加器的模板函数添加到指令解码中
make_helper_v(add_i2a)
// 将ADD指令操作数为立即数到寄存器/内存的模板函数添加到指令解码中
make_helper_v(add_i2rm)
// 将ADD指令操作数为寄存器到寄存器/内存的模板函数添加到指令解码中
make_helper_v(add_r2rm)
// 将ADD指令操作数为寄存器/内存到寄存器的模板函数添加到指令解码中
make_helper_v(add_rm2r)
// 将ADD指令操作数为立即数和寄存器/内存的模板函数添加到指令解码中
make_helper_v(add_si2rm)
